/**
 * 
 */
package com.zhiteng.utils.common;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;

/*import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;*/

/**  
* <p>Title: ExcelUtils.java</p>  
* <p>Description: </p>  
* @author dragon  
* @date 2018年10月25日  
* @version 1.0  
*/
public class PoiUtils {
	
	/**
	 * 
	* @Title: getValue  
	* @Description: 获取单元格中的值（各种数据类型获取后均转换为String类型） 
	* @param @param hssfCell
	* @param @return    参数  
	* @return String    返回类型  
	* @throws
	 */
	public static String getValue(HSSFCell hssfCell){	// 该工具方法并没有完善
		if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
			return String.valueOf(hssfCell.getBooleanCellValue());
		}else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
			return String.valueOf(hssfCell.getNumericCellValue());
		}else{
			return String.valueOf(hssfCell.getStringCellValue());
		}
	}
	
	/**
	 * 创建一个单元格并为其设定指定的对其方式
	 * @param wb 工作簿
	 * @param row 行
	 * @param column  列
	 * @param halign  水平方向对其方式
	 * @param valign  垂直方向对其方式
	 */
	public static void createCell(Workbook wb,Row row,short column,short halign,short valign){
		Cell cell=row.createCell(column);  // 创建单元格
		cell.setCellValue(new HSSFRichTextString("Align It"));  // 设置值
		CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式
		cellStyle.setAlignment(halign);  // 设置单元格水平方向对其方式
		cellStyle.setVerticalAlignment(valign); // 设置单元格垂直方向对其方式
		cell.setCellStyle(cellStyle); // 设置单元格样式
	}
	
	/**
	 * 
	* @Title: formatCell  
	* @Description: 将单元格中任意格式数据都转为字符串格式
	* @param @param hssfCell
	* @param @return    参数  
	* @return String    返回类型  
	* @throws
	 */
	public static String formatCell(HSSFCell hssfCell){
		if(hssfCell==null){
			return "";
		}else{
			if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
				return String.valueOf(hssfCell.getBooleanCellValue());
			}else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
				return String.valueOf(hssfCell.getNumericCellValue());
			}else{
				return String.valueOf(hssfCell.getStringCellValue());
			}
		}
	}
	

}
